#ifndef _BOMB_PROJECTILE_H_
#define _BOMB_PROJECTILE_H_

#ifdef _WIN32
#pragma once
#endif

#include "fmod.hpp"

#include "bomb.h"
#include "utils.h"
#include "projectile.h"
#include "repeat.h"
#include "mapcontainer.h"
#include "map.h"
#include "player.h"
#include "soundmanager.h"
#include "devicemanager.h"
#include "constants.h"

class CBombProjectile : public CProjectile
{
public:
    CBombProjectile(float fX, float fY, float fZ);
    ~CBombProjectile();

    void startExplode();
    void explode();

    virtual void tick();

    bool isExploding() const;
    void setExplode();

private:
    bool m_bExploding;
    CRepeat<void> m_explodeRepeat;
};

namespace BombProjectile
{
    bool destroyEntities(CEntity *pBomb, int nHeight, int nWidth, int nDepth);
    void explode(DELAY_PARAMS &params);
};

#endif